package iO;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

//读取文本数据
public class ReadStreamDemo {
    public static void main(String[] args) throws IOException {
        //需求： 将demo.txt文件中所有内容读取回来
//        File file = new File("./src/io/ReadStreamDemo.java");
//        FileInputStream in = new FileInputStream(file);
//
//        long length = file.length();
//        byte[] data = new byte[(int)length];
//        //一次性将读取到的内容存储到data数组中
//        in.read(data);
//        //String提供的构造器允许将一个字节数组中的所有字节按照指定的字符集将其还原为字符
//        String s = new String(data, StandardCharsets.UTF_8);//这一句得记住
//        System.out.println(s);
//        in.close();
        File file = new File("./src/iO/ReadStreamDemo.java");
        FileInputStream in = new FileInputStream(file);
        //文件有多长就读多长
        long length = file.length();
        byte[] data = new byte[(int) length];//需要的是int类型，所以需要强转
        in.read(data);
        //将读取到的内容存储到一个字符串中，所以声明一个变量
        String s = new String(data,StandardCharsets.UTF_8);
        System.out.println(s);
        in.close();
    }
}
